草庐IT

shell 函数

全部标签

go - 如何在 Go 中创建一个通用的 GRPC 服务器启动函数

我正在尝试抽象GRPC服务器的启动原主函数如下:funcmain(){lis,err:=net.Listen("tcp",port)iferr!=nil{log.Fatalf("failedtolisten:%v",err)}s:=grpc.NewServer()pb.RegisterCollectionServer(s,&server.Server{})//RegisterreflectionserviceongRPCserver.reflection.Register(s)iferr:=s.Serve(lis);err!=nil{log.Fatalf("failedtoserve:

go - 如何在 go cli 函数中接受一串文本?

我正在尝试通过将exec.Command添加到cli插件来处理PoC,但是我正在努力解决如何让它接受用户使用命令输入的问题。我承认我是Go的新手,来自PHP和Bash脚本,所以......我确信我在这里遗漏了一些非常基本的东西,这有点尴尬。我试过设置变量,将变量添加到输出,添加bufio,并尝试提示但没有成功。out,err:=exec.Command("mtr","-c","10","-r",destIP).输出()是最近的失败...typeMtrstruct{}func(m*Mtr)Run(command[]string,contextplugin.PluginContext,ui

performance - 如何测量golang中函数的执行时间,不包括等待时间

我有一个需求来测量go中插件的执行时间(cpu成本),我们可以将插件视为函数,可能同时运行多个goroutine。更准确地说,执行时间应该排除空闲时间(goroutine等待时间),只有cpu获取时间(当前goroutine)。就像:gofunc(){//thisfuncisaplugin**starttorecordcpuacquiretimeofcurrentfunc/plugin/goroutine****runcode****stoptorecordcpuacquiretimeofcurrentfunc/plugin/goroutine**log.Debugf("Thisfun

go - kubernetes API中是否有通过注解获取所有服务的函数

我正在设置一个kubernet集群来部署我们的容器应用程序。应用程序实际上需要所有标签,但标签超过63个字符,我得到一个error.这使我依赖于注释。服务的注释如下所示:com.example.development.london/component.proxy-config.secure-routes.backend.proxy-path。/仅用于绕过RFC域错误。在Golang应用程序中,请求命名空间的所有服务。实际上基于标签。为此,到目前为止我使用了以下代码。func(kc*KubernetesCollector)generateRoutes(errorChannelchan但是

function - 云函数部署问题

当我部署云函数时,出现以下错误。我正在使用gomod,我能够从我的沙箱构建和运行所有集成测试,其中一个云函数依赖使用私有(private)githubrepo,当我部署云功能时Go:github.com/myrepo/ptrie@v0.1.:gitfetch-foriginrefs/heads/:refs/heads/refs/tags/:refs/tags/在/builder/pkg/mod/cache/vcs/41e03711c0ecff6d0de8588fa6de21a2c351c59fd4b0a1b685eaaa5868c5892e:退出状态128:致命:无法读取“https:

go - 如何调用采用包含指针的 c 结构的 c 函数

从RaspberryPI上的GO程序我试图调用一个函数(转换为C函数的Matlab函数)并且该函数的输入是一个指向结构的指针,该结构包含指向double(数据)的指针和一个指向int(size)和两个int(allocatedSize,numDimensions)的指针。我尝试了几种方法但没有任何效果,当我通过编译时它通常会抛出一个panic:运行时错误:当我运行程序时,cgo参数有指向Go指针的Go指针。sumArray.c/*sumArray.C*//*Includefiles*/#include"sumArray.h"/*FunctionDefinitions*/doublesu

python - gocv 中是否有类似 python 中的 np.where() 的函数?

Gocv中有没有类似Python中的np.where()的函数?我想将一些特定的像素值指定为0,其他的指定为255。如下,在Python中我可以这样做:img=cv2.imread("test.png",cv2.IMREAD_GRAYSCALE)img_=np.where(img==144,img*0,np.where(img==170,img*0,np.where(img==178,img*0,np.where(img==187,img*0,255))))像素值187、178、170、144将设置为0,其他设置为255。我如何在Golang中使用Gocv完成这项工作?

mongodb - 如何使用官方 MongoDB Go 驱动程序的 FindOne() 函数从 mongoDB 获取完整文档

我正在尝试从MongoDB获取单个文档并将其解码为包含slice的结构。我使用官方MongoDBGo驱动程序。我试过collection.FindOne(),它返回除slice之外的所有内容,而collection.Find()返回EOF。这是一个简单的FindOne()函数:funcFindOne(c*mongo.Collection,filter,resultinterface{},opts...*options.FindOneOptions)error{err:=c.FindOne(context.TODO(),filter,opts...).Decode(result)ifer

go - 使用递归函数迭代递归结构

我有以下结构typeSitemapstruct{XMLNamexml.Name`xml:"urlset"`Namespacestring`xml:"xmlns,attr"`Schemastring`xml:"xmlns:xsi,attr"`SchemaLocationstring`xml:"xsi:schemaLocation,attr"`Root*URLItem}typeURLItemstruct{XMLNamexml.Name`xml:"url"`Locstring`xml:"loc"`LastModstring`xml:"lastmod,omitempty"`Urls[]*URL

go - Golang 中用于匹配传递的变量和类型的通用函数

这个问题在这里已经有了答案:Passinginatypevariableintofunction(1个回答)关闭3年前。我想写一个有两个参数的函数interface{}和一个类型并返回true如果接口(interface)是传递的类型,否则返回false.我是反射的初学者,我看到的主要挑战是如何将类型作为函数参数。例如:funccheckType(valinterface{},t){ifreflect.Typeof(val)==t{returntrue}else{returnfalse}}checkType("hello",)//returnsfalsecheckType("hello